package com.dragon.refect.classload;

/**
 * 数组类的Class对象不是由类加载器创建的，而是根据java运行时的要求创建的,数组类的类加载器，也是通过getClassLoader()方法去返回的，
 * 跟他们的元素的类加载器是相同的；如果这个元素类型是原始类型，那么数组类没有类加载器
 *
 * @author dragon
 * @since 2019/11/21
 */
public class MyTest9 {

    public static void main(String[] args) {
        String[] array1 = new String[12];
        // null,String的类加载器是BootStrapClassLoader，所以为null
        System.out.println("array1的类加载器:" + array1.getClass().getClassLoader());
        MyTest9[] array2 = new MyTest9[1];
        // sun.misc.Launcher$AppClassLoader@18b4aac2, MyTest9的类加载器是应用类加载器
        System.out.println("array2的类加载器:" + array2.getClass().getClassLoader());
        int[] array = new int[1];
        // null，数组的元素类型是原始类型，那么数组就没有类加载器
        System.out.println("array的类加载器:" + array.getClass().getClassLoader());
    }
}
